今天來介紹RAG (Retrieval Augmented Generation),
最早是由Meta發布
https://ai.meta.com/blog/retrieval-augmented-generation-streamlining-the-creation-of-intelligent-natural-language-processing-models/
想像一下你有一個古老的圖書館,裡面充滿了各種各樣的書籍,但是沒有一個好的目錄檢索系統。如果你想找到關於特定主題的資訊,你可能需要花很多時間去翻閱各種不同的書籍。
現在,假設你有一個智慧的機器人助手,它知道每一本書和每一頁的內容。但是,它的知識是有限的,只限於圖書館的藏書,並且不能即時更新。這意味著,如果你問它一個關於最近的新聞事件的問題,它可能無法給你答案,因為它的知識是固定的,沒有即時更新。
這裡就是 RAG 發揮作用的地方。RAG 就像一個進階版本的機器人助手。除了知道圖書館裡所有書籍的內容外,它還可以上網搜尋資料,找到最新和最相關的資訊來回答你的問題。它會為你找到最相關的,最新的資訊,並結合圖書館的資料,給你一個更全面,更準確的答案。
簡單來說,RAG 是一個能夠結合固定知識(比如圖書館的書籍)和即時知識(比如網路上的資訊)來回答問題的先進技術。這意味著,無論你的問題多麼複雜或特定,RAG 都可以提供最新和最相關的答案。
RAG 提供了一個方法來優化 LLM 的輸出,提供更具針對性和時效性的訊息,而不用修改底層模型。這意味著生成 AI 系統可以提供更符合上下文的答案,並基於當前的數據。
在 RAG 中,所有資料,包括結構化和非結構化文件等,被翻譯成一種通用格式並存儲在一個可以供生成 AI 系統訪問的知識庫中。這些數據被處理成數值表示形式(向量),並存儲在向量數據庫中,這可以迅速搜索並用於檢索正確的上下文訊息。
自己的資料(例如pdf) -> 轉向量 -> 向量資料庫-> 相似搜尋 -> 相關資訊當作上下文 -> 更好的LLM輸出